The present invention relates, in general, to a local area network including a data transmission apparatus and a communication path management method therefor. More particularly, the present invention relates to an apparatus for and a method of generating communication protocol for establishing a communication path between a main system and a plurality of peripheral devices. The present invention has particular applicability in an Open Systems Interconnection (OSI) communication protocol system.
In conventional communication networks, the transfer of data from one location to another over a communication path occurs in one of two manners. The first manner requires that a communication path be established as data is about to be transferred and the second manner requires no communication path to be established. A conventional communication control mode for a communication network system of the former data transmission type is disclosed in Japanese Patent Publication No. 49540/1986. This system will be described with reference to FIGS. 6 to 8.
FIG. 6 illustrates a block diagram of a conventional communication network system including a data transmission apparatus 1, a communication network 2 connected to the data transmission apparatus 1, task program devices 3a, 3b which exist as or execute task programs in the data transmission apparatus 1, and a communication protocol processor 6 coupled to the task program devices 3a and 3b and the communication network 2 for processing the communication protocol of the network 2. Peripheral devices or systems 7a, 7b (which may be either hardware or software) are coupled to the other end of the communication network 2 for communicating with the data transmission apparatus 1. In this specification, the terms "task program" and "task program device" are interchangeable and are defined simply as sources of data communications. For example, the task program devices may simply be software or may be hardware units capable of executing software.
The network 2 is physically connected to the data transmission apparatus 1 and the peripheral devices 7a, 7b by, for example, a pair of cables or a single optical cable. Software initializes the communication path which links the data transmission apparatus 1 and the peripheral devices 7a, 7b via the network 2. The transmission of data between the data transmission apparatus 1 and the peripheral devices 7a, 7b is made after establishing a communication path with one of the corresponding peripheral devices 7a, 7b. The communication path is established by a CPU (not shown) in the data transmission apparatus 1 which executes a task program 3a, 3b provided for use with one or more of the corresponding peripheral devices.
FIG. 7 illustrates a flow chart describing a data transmission sequence.
The execution of a task program begins with step S201, and a communication path establishment request is output to the communication protocol processor 6 in step S202. After receiving the communication path establishment notice, it is determined whether the communication path has been established (step S203). If the communication path has been established, execution proceeds to step S204, otherwise, execution returns to the step S202.
In step S204, the task program device issues a data transmission request to the communication protocol processor 6 and waits until a data transmission end notice is received from the communication protocol processor 6. In step S205, the data transmission end notice is checked to determine the status of the data transmission. If the data transmission is successful, execution advances to step S207. However, if it has failed, execution proceeds to step S206 where if the state of the communication path is normal, execution returns back to step S204 and if a fault is detected execution returns back to step S202.
In step S207, a communication path release request is output to the communication protocol processor 6 and the result of this request is checked in step S208. If it has succeeded, execution progresses to step S209, where the processing is terminated. On the other hand, if it has failed, execution returns to the step S207.
FIGS. 8A and 8B show a timing chart illustrating the task program devices 3a, 3b sharing a single communication path for transmitting data. Reference numerals 11a to 11d indicate data transmission start requests output from the task program devices 3a, 3b to the communication protocol processor 6, numerals 12a to 12d represent data transmission end notices output from the communication protocol processor 6 to the task program devices 3a, 3b, numerals 13a to 13d designate communication path holding periods, numerals 14a to 14d designate communication path establishment requests output from the task program devices 3a, 3b to the communication protocol processor 6, and numerals 15a to 15d represent communication path release requests output from the task program devices 3a, 3b to the communication protocol processor 6.
In the timing charts of FIGS. 8A and 8B, the task program device 3a first outputs the communication path establishment request 14a to the communication protocol processor 6 to establish a communication path followed by the data transmission request 11a to the communication protocol processor 6 to transmit data to the other end device (not shown). The task program device 3a waits for the data transmission end notice 12a from the communication protocol processor 6, and upon receiving this data transmission end notice 12a, the communication path release request 15a is output to release the communication path, which completes the data transmission operation.
Hereafter, FIGS. 8A and 8B show how data is transmitted in a similar manner first by the task program device 3b and then by task program device 3a.
The conventional data transmission apparatus arranged as described above establishes a communication path prior to transmitting data and then releases the communication path at the end of each communication. For numerous reasons, such as restrictions on the available resources (e.g., internal memory), the data transmission apparatus generally has a limited number of communication paths which can be established at one time. Hence, each task program device must often establish and release its communication path, which complicates the task programs.
In addition, when a communication path is interrupted due to a fault (e.g., noise on the network), during a data transmission period, the path must be reestablished. In this event, the task program devices must always obtain the state of the communication path which further complicates the task programs.
The known Manufacturing Automation Protocol (MAP) System, which is sometimes employed in an OSI communication system is generally classified into two types: "full-MAP," which conforms to an OSI seven layer model, and "mini-MAP," which does not have the third to sixth layers in the OSI seven layer model. Task programs designed for these applications are different in that while the full-MAP application always requires a communication path to be established/released, mini-MAP includes a few communication systems which do not require a communication path to be established/released. In this communication system the communication path does not need to be established/released and data is sent to a peripheral device with the destination indicated by the task program in every communication. To utilize a task program designed for a mini-MAP system having a known data transmission apparatus in full-MAP, communication path establishment/release processing must be added and the communication path cannot be shared without this processing.